package com.aba.bms.management;
//import java.util.ArrayList;
//import java.util.List;
//
//
//public class Management {
//    // 模拟存储用户信息的列表
//    private List<User> userList = new ArrayList<>();
//
//    // 用户内部类，用于封装用户信息
//    private class User {
//        private String username;
//        private String password;
//        private String phone;
//        private boolean isAdmin;//执行管理员权限的相关操作
//        
//        public User(String username, String password, String phone, boolean isAdmin)
//        {
//            this.username = username;
//            this.password = password;
//            this.phone = phone;
//            this.isAdmin = isAdmin;
//        }
//
//        public String getUsername() {
//            return username;
//        }
//
//        public String getPassword(){
//            return password;
//        }
//
//        public String getPhone() {
//            return phone;
//        }
//
//        public boolean isAdmin() {
//            return isAdmin;
//        }
//
//        public void setPassword(String password) {
//            this.password = password;
//        }
//
//        public void setPhone(String phone) {
//            this.phone = phone;
//        }
//
//        public void setAdmin(boolean admin) {
//            isAdmin = admin;
//        }
//    }
//
//    // 注册功能
//    public void register(String username, String password, String phone, boolean isAdmin) {
//        User user = new User(username, password, phone, isAdmin);//创建User对象
//        userList.add(user);//将用户添加到用户列表（userlist为存储用户的集合）
//        System.out.println("注册成功：" + username);
//    }

    // 登录功能
//    public boolean login(String username, String password) {
//        for (User user : userList) {
//            if (user.getUsername().equals(username) && user.getPassword().equals(password))//匹配用户名和密码 
//            {
//                System.out.println("登录成功：" + username);
//                return true;
//            }
//        }
//        System.out.println("用户名或密码错误");
//        return false;
//    }
//
// // 普通用户修改个人信息功能
//    public void updateUserInformantion(String username, String newPassword, String newPhone)
//    {
//        for (User user : userList)//逐个取出userList集合中存储的每个用户对象，并赋值给临时变量user
//        {
//            if (user.getUsername().equals(username) &&!user.isAdmin())//仅当用户名匹配且不是管理员时，才允许修改其信息
//            {
//                user.setPassword(newPassword);//更新密码
//                user.setPhone(newPhone);//更新手机号
//                System.out.println("个人信息修改成功");
//                return;
//            }
//        }
//        System.out.println("未找到该普通用户或无权限修改");
//    }
//
//    // 管理员查看所有用户信息功能
//    public void viewAllUserInformation() 
//    {
//        for (User user : userList)
//        {
//            System.out.println("用户名: " + user.getUsername() + ", 电话: " + user.getPhone()+", 管理员: " + user.isAdmin());
//        }
//    }

//   
import java.util.ArrayList;
import java.util.List;

public class Management {
    private List<User> userList = new ArrayList<>();

    // 注册方法
    public void register(String username, String password, String phone, boolean isAdmin) {
        User user = new User(username, password, phone, isAdmin);
        userList.add(user);
        System.out.println("注册成功：" + username);
    }

    // 登录方法
    public boolean login(String username, String password) {
        for (User user : userList) {
            if (user.getUsername().equals(username) && user.getPassword().equals(password)) {
                System.out.println("登录成功：" + username);
                return true;
            }
        }
        System.out.println("用户名或密码错误");
        return false;
    }

    // 普通用户修改个人信息方法
    public void updateUserInfo(String username, String newPassword, String newPhone) {
        for (User user : userList) {
            if (user.getUsername().equals(username)) {
                user.setPassword(newPassword);
                user.setPhone(newPhone);
                System.out.println("个人信息修改成功");
                return;
            }
        }
        System.out.println("未找到该用户");
    }

    // 管理员查看所有用户信息方法
    public void viewAllUserInfo() {
        for (User user : userList) {
            System.out.println("用户名: " + user.getUsername() + 
                    ", 电话: " + user.getPhone() + 
                    ", 管理员: " + user.isAdmin());
        }
    }

    // 管理员修改用户信息方法
    public void updateUserInfoByAdmin(String username, String newPassword, String newPhone, boolean isAdmin) {
        for (User user : userList) {
            if (user.getUsername().equals(username)) {
                user.setPassword(newPassword);
                user.setPhone(newPhone);
                user.setAdmin(isAdmin);
                System.out.println("用户信息修改成功");
                return;
            }
        }
        System.out.println("未找到该用户");
    }

    // 设置用户权限方法
    public void setUserPermission(String username, boolean isAdmin) {
        for (User user:userList) {
            if (user.getUsername().equals(username)) {
                user.setAdmin(isAdmin);
                System.out.println("用户权限设置成功");
                return;
            }
        }
        System.out.println("未找到该用户");
}

}
